package com.xiaozhichao.javaapi.springcirculardependency;

import java.util.HashMap;
import java.util.Map;

/**
 * 问题内容是：给定一个数组，给定一个数字。返回数组中可以相加得到指定数字的两个索引。
 * 比如：给定nums = [2, 7, 11, 15], target = 9
 * 那么要返回 [0, 1]，因为2 + 7 = 9
 */
public class TwoSum {

    public static int[] excute(int[] nums,int target){
        Map<Integer,Integer> tempMap = new HashMap<>(2);
        for(int i=0;i<nums.length;i++){
            int tempInt = target - nums[i];
            if(tempMap.containsKey(tempInt)){
                return new int[] {tempMap.get(tempInt),i};
            }
            tempMap.put(nums[i],i);
        }
        return null;
    }

    public static void main(String[] args) {
        int[] result = TwoSum.excute(new int[]{11, 1, 2, 7},9);
        for(int i=0;i<result.length;i++){
            System.out.println(result[i]);
        }
    }
}
